/***************************************************************************
 *   Copyright (C) 2009 by Jason Pullara                                   *
 *   lordkat@gmail.com                                                     *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   This program is distributed in the hope that it will be useful,       *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License for more details.                          *
 *                                                                         *
 *   You should have received a copy of the GNU General Public License     *
 *   along with this program; if not, write to the                         *
 *   Free Software Foundation, Inc.,                                       *
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 ***************************************************************************/

/* For common enumerated types */

/* Don't go changing the order of this
unless you rewrite scripts/clientstate/* */
enum cClientState {
	CLIENT_NONE = 0,
	CLIENT_MENU,
	CLIENT_MENU_INPUT,
	CLIENT_LOGIN_USERNAME,
	CLIENT_LOGIN_USERNAME_INPUT,
	CLIENT_LOGIN_PASSWORD,
	CLIENT_LOGIN_PASSWORD_INPUT,
	CLIENT_CREATE_USERNAME,
	CLIENT_CREATE_USERNAME_INPUT,
	CLIENT_CREATE_PASSWORD,
	CLIENT_CREATE_PASSWORD_INPUT,
	CLIENT_CREATE_RACE,
	CLIENT_CREATE_RACE_INPUT,
	CLIENT_CREATE_JOB,
	CLIENT_CREATE_JOB_INPUT,
	CLIENT_CREATE_CONFIRM,
	CLIENT_CREATE_CONFIRM_INPUT,
	CLIENT_CHANGE_PASSWORD,
	CLIENT_CHANGE_PASSWORD_INPUT,
	CLIENT_MOTD,
	CLIENT_MOTD_INPUT,
	CLIENT_GAME,
	CLIENT_MOVEAREA,
	CLIENT_LOGOUT,
	CLIENT_QUIT,
	CLIENT_EMPTY,
	CLIENT_ERROR,
	CLIENT_STATUSBAR,
	CLIENT_RELOADLUA = 999
};

enum cClientType {
	CLIENTTYPE_NONE = 0,
	CLIENTTYPE_TEXT,
	CLIENTTYPE_IRC,
	CLIENTTYPE_GFX
};

enum CharacterDataType {
	CDATA_NONE = 0,
	CDATA_RACE,
	CDATA_JOB,
	CDATA_SUB,
	CDATA_LEVEL,
	CDATA_EXP,
	CDATA_GOLD,
	CDATA_MAP,
	CDATA_HP,
	CDATA_MAXHP,
	CDATA_MP,
	CDATA_MAXMP,
	CDATA_TP,
	CDATA_MAXTP,
	CDATA_STR,
	CDATA_DEX,
	CDATA_VIT,
	CDATA_AGI,
	CDATA_INT,
	CDATA_MND,
	CDATA_CHR,
	CDATA_ATK,
	CDATA_DEF,
	CDATA_ACC,
	CDATA_EVA,
	CDATA_MAC,
	CDATA_MEV,
	CDATA_EQHEAD,
	CDATA_EQNECK1,
	CDATA_EQNECK2,
	CDATA_EQEAR1,
	CDATA_EQEAR2,
	CDATA_EQBACK,
	CDATA_EQCHEST,
	CDATA_EQARMS,
	CDATA_EQHANDS,
	CDATA_EQWAIST1,
	CDATA_EQWAIST2,
	CDATA_EQLEGS,
	CDATA_EQFEET,
	CDATA_EQHOLD1,
	CDATA_EQHOLD2,
	CDATA_EQRANGEDWEAPON,
	CDATA_EQRANGEDAMMO
};

/* Everything below this line is VOLATILE.
If you change it, you'll have to write a character file converter */

enum CharacterRace {
	/* Empty race, bad juju */
	RACE_NONE = 0,
	/* GM-Only */
	RACE_GM,
	/* Playable races */
	RACE_HUME,
	RACE_ELVAAN,
	RACE_TARUTARU,
	RACE_MITHRA,
	RACE_GALKA,
	/* Non-Playable Races */
	RACE_BEAST,
	RACE_LIZARD,
	RACE_VERMIN,
	RACE_PLANTOID,
	RACE_AQUAN,
	RACE_AMORPH,
	RACE_BIRD,
	RACE_UNDEAD,
	RACE_ARCANA,
	RACE_DRAGON,
	RACE_DEMON,
	RACE_LUMINIAN,
	RACE_LUMINION,
	RACE_EMPTY,
	/* Beastmen */
	RACE_ANTICA,
	RACE_BUGBEAR,
	RACE_GIGAS,
	RACE_GOBLIN,
	RACE_LAMIAE,
	RACE_MAMOOLJA,
	RACE_MOBLIN,
	RACE_ORC,
	RACE_POROGGO,
	RACE_QIQIRN,
	RACE_QUADAV,
	RACE_SAHAGIN,
	RACE_TONBERRY,
	RACE_TROLL,
	RACE_YAGUDO,
	/* Generic undefined race */
	RACE_GENERIC
};

enum CharacterJob {
	JOB_NONE = 0,
	JOB_GM,
	JOB_WARRIOR,
	JOB_MONK,
	JOB_MAGE_WHITE,
	JOB_MAGE_BLACK,
	JOB_MAGE_RED,
	JOB_THIEF,
	JOB_PALADIN,
	JOB_DARK_KNIGHT,
	JOB_BEASTMASTER,
	JOB_BARD,
	JOB_RANGER,
	JOB_NINJA,
	JOB_SUMMONER,
	JOB_SAMURAI,
	JOB_DRAGOON,
	JOB_MAGE_BLUE,
	JOB_PUPPETMASTER,
	JOB_CORSAIR,
	JOB_DANCER,
	JOB_SCHOLAR,
	JOB_GENERIC
};

enum CharacterFlags {
	FLAG_NONE,
	FLAG_GM,
	FLAG_NOHIT,
	FLAG_NOCRITICAL,
	FLAG_NOFATALITY,
	FLAG_NODEATH,
	FLAG_NOTALK
};

enum StatusEffects {
	STATUS_NONE = 0,
	/* Generic status effects */
	STATUS_BOOST_STR, STATUS_BOOST_DEX, STATUS_BOOST_VIT,
	STATUS_BOOST_AGI, STATUS_BOOST_INT, STATUS_BOOST_MND,
	STATUS_BOOST_CHR, STATUS_BOOST_ATK, STATUS_BOOST_DEF,
	STATUS_BOOST_ACC, STATUS_BOOST_EVA,
	STATUS_BOOST_MAGIC_ACC, STATUS_BOOST_MAGIC_EVA,
	STATUS_BOOST_MAGIC_ATK, STATUS_BOOST_MAGIC_DEF,
	STATUS_BOOST_MAXHP, STATUS_BOOST_MAXSP, STATUS_BOOST_MAXTP,
	STATUS_BOOST_RESIST_LIGHT, STATUS_BOOST_RESIST_DARK,
	STATUS_BOOST_RESIST_FIRE, STATUS_BOOST_RESIST_EARTH,
	STATUS_BOOST_RESIST_WATER, STATUS_BOOST_RESIST_AIR,
	STATUS_BOOST_RESIST_ICE, STATUS_BOOST_RESIST_LIGHTNING,

	STATUS_DOWN_STR, STATUS_DOWN_DEX, STATUS_DOWN_VIT,
	STATUS_DOWN_AGI, STATUS_DOWN_INT, STATUS_DOWN_MND,
	STATUS_DOWN_CHR, STATUS_DOWN_ATK, STATUS_DOWN_DEF,
	STATUS_DOWN_ACC, STATUS_DOWN_EV,
	STATUS_DOWN_MAGIC_ACC, STATUS_DOWN_MAGIC_EVA,
	STATUS_DOWN_MAGIC_ATK, STATIC_DOWN_MAGIC_DEF,
	STATUS_DOWN_MAXHP, STATUS_DOWN_MAXSP, STATUS_BDOWN_MAXTP,
	STATUS_DOWN_RESIST_LIGHT, STATUS_DOWN_RESIST_DARK,
	STATUS_DOWN_RESIST_FIRE, STATUS_DOWN_RESIST_EARTH,
	STATUS_DOWN_RESIST_WATER, STATUS_DOWN_RESIST_AIR,
	STATUS_DOWN_RESIST_ICE, STATUS_DOWN_RESIST_LIGHTNING,

	/* Unique Skills (aka "2hr") */
	STATUS_MIGHTYSTRIKES,
	STATUS_BENEDICTION,
	STATUS_MANAFONT,
	STATUS_CHAINSPELL,
	STATUS_AZURELORE,
	STATUS_PERFECTDODGE,
	STATUS_HUNDREDFISTS,
	STATUS_SOULVOICE,
	STATUS_ASTRALFLOW,
	STATUS_SPIRITSURGE,
	STATUS_FAMILIAR,
	STATUS_OVERDRIVE,
	STATUS_BLOODWEAPON,
	STATUS_INVINCIBLE,
	STATUS_MIJINGAKURE,
	STATUS_MEIKYOSHISUI,
	STATUS_EAGLEEYESHOT,
	STATUS_WILDCARD,
	STATUS_TRANCER,
	STATUS_TABULARASA,

	/* Specific Job Abilities that don't fit any other status effect 
	usually just one-hit-and-done shit like SATA */
	STATUS_SNEAKATTACK,
	STATUS_TRICKATTACK,

	/* Misc Status */
	STATUS_BESERK,
	STATUS_SILENCE,
	STATUS_SLOW,
	STATUS_HASTE,
	STATUS_DEODORIZE,
	STATUS_SNEAK,
	STATUS_INVISIBLE,
	STATUS_DEAD
};

enum WeaponSkills {
	WS_NONE = 0,

	/* Arrows */
	WS_FLAMINGARROW,
	WS_PIERCINGARROW,
	WS_DULLINGARROW,
	WS_SIDEWINDER,
	WS_BLASTARROW,
	WS_ARCHINGARROW,
	WS_EMPYREALARROW,
	WS_NAMASARROW,
	WS_ARROW_PLACEHOLDER1,
	WS_ARROW_PLACEHOLDER2,
	WS_ARROW_PLACEHOLDER3,

	/* Axe */
	WS_RAGINGAXE,
	WS_SMASHAXE,
	WS_GALEAXE,
	WS_AVALANCHEAXE,
	WS_SPINNINGAXE,
	WS_RAMPAGE,
	WS_CALAMITY,
	WS_MISTRALAXE,
	WS_DECIMATION,
	WS_ONSLAUGHT,
	WS_PRIMALREND,
	WS_AXE_PLACEHOLDER1,
	WS_AXE_PLACEHOLDER2,

	/* Clubs */
	WS_SHININGSTRIKE,
	WS_SERAPHSTRIKE,
	WS_BRAINSHAKER,
	WS_STARLIGHT,
	WS_MOONLIGHT,
	WS_SKULLBREAKER,
	WS_TRUESTRIKE,
	WS_JUDGMENT,
	WS_HEXASTRIKE,
	WS_BLACKHALO,
	WS_RANDGRITH,
	WS_MYSTICBOON,
	WS_CLUB_PLACEHOLDER1,
	WS_CLUB_PLACEHOLDER2,

	/* Daggers */
	WS_WASPSTING,
	WS_GUSTSLASH,
	WS_SHADOWSTITCH,
	WS_VIPERBITE,
	WS_CYCLONE,
	WS_ENERGYSTEAL,
	WS_ENERGYDRAIN,
	WS_DANCINGEDGE,
	WS_SHARKBITE,
	WS_EVISCERATION,
	WS_MERCYSTROKE,
	WS_MANDALICSTAB,
	WS_PYRRHICKLEOS,
	WS_MORDANTRIME,

	/* Great Axe */
	WS_SHIELDBREAK,
	WS_IRONTEMPEST,
	WS_STURMWIND,
	WS_ARMORBREAK,
	WS_KEENEDGE,
	WS_WEAPONBREAK,
	WS_RAGINGRUSH,
	WS_FULLBREAK,
	WS_STEELCYCLONE,
	WS_METATRONTORMENT,
	WS_KINGSJUSTICE,
	WS_GREATAXE_PLACEHOLDER1,
	WS_GREATAXE_PLACEHOLDER2,

	/* Great Katana */
	WS_TACHIENPI,
	WS_TACHIHOBAKU,
	WS_TACHIGOTEN,
	WS_TACHIKAGERO,
	WS_TACHIJINPU,
	WS_TACHIKOKI,
	WS_TACHIYUKIKAZE,
	WS_TACHIGEKKO,
	WS_TACHIKASHA,
	WS_TACHIKAITEN,
	WS_TACHIRANA,
	WS_GREATKATANA_PLACEHOLDER1,
	WS_GREATKATANA_PLACEHOLDER2,

	/* Great Sword */
	WS_HARDSLASH,
	WS_POWERSLASH,
	WS_FROSTBITE,
	WS_FREEZEBITE,
	WS_SHOCKWAVE,
	WS_CRESCENTMOON,
	WS_SICKLEMOON,
	WS_SPINNINGSLASH,
	WS_GROUNDSTRIKE,
	WS_SCOURGE,
	WS_GREATSWORD_PLACEHOLDER1,
	WS_GREATSWORD_PLACEHOLDER2,
	WS_GREATSWORD_PLACEHOLDER3,

	/* Hand to Hand */
	WS_COMBO,
	WS_SHOULDERTACKLE,
	WS_ONEINCHPUNCH,
	WS_BACKHANDBLOW,
	WS_RAGINGFISTS,
	WS_SPINNINGATTACK,
	WS_HOWLINGFIST,
	WS_DRAGONKICK,
	WS_ASURANFISTS,
	WS_FINALHEAVEN,
	WS_ASCETICSFURY,
	WS_STRININGPUMMEL,
	WS_HANDTOHAND_PLACEHOLDER1,

	/* Katana */
	WS_BLADERIN,
	WS_BLADERETSU,
	WS_BLADETEKI,
	WS_BLADETO,
	WS_BLADECHI,
	WS_BLADEEI,
	WS_BLADEJIN,
	WS_BLADETEN,
	WS_BLADEKU,
	WS_BLADEMETSU,
	WS_BLADEKAMU,
	WS_KATANA_PLACEHOLDER1,
	WS_KATANA_PLACEHOLDER2,

	/* Guns */
	WS_HOTSHOT,
	WS_SPLITSHOT,
	WS_SNIPERSHOT,
	WS_SLUGSHOT,
	WS_BLASTSHOT,
	WS_HEAVYSHOT,
	WS_DETONATOR,
	WS_CORONACH,
	WS_TRUEFLIGHT,
	WS_LEADENSALUTE,
	WS_MARKSMANSHIP_PLACEHOLDER1,

	/* Polearms */
	WS_DOUBLETHRUST,
	WS_THUNDERTHRUST,
	WS_RAIDENTHRUST,
	WS_LEGSWEEP,
	WS_PENTATHRUST,
	WS_VORPALTHRUST,
	WS_SKEWER,
	WS_WHEELINGTHRUST,
	WS_IMPULSEDRIVE,
	WS_GEIRSKOGUL,
	WS_DRAKESBANE,
	WS_POLEARMS_PLACEHOLDER1,
	WS_POLEARMS_PLACEHOLDER2,

	/* Scythe */
	WS_SLICE,
	WS_DARKHARVEST,
	WS_SHADOWOFDEATH,
	WS_NIGHTMARESCYTHE,
	WS_SPINNINGSCYTHE,
	WS_VORPALSCYTHE,
	WS_GUILLOTINE,
	WS_CROSSREAPER,
	WS_SPIRALHELL,
	WS_CATASTROPHE,
	WS_INSURGENCY,
	WS_SCYTHES_PLACEHOLDER1,
	WS_SCYTHES_PLACEHOLDER2,

	/* Staves */
	WS_HEAVYSWING,
	WS_ROCKCRUSHER,
	WS_EARTHCRUSHED,
	WS_STARBURST,
	WS_SUNBURST,
	WS_SHELLCRUSHER,
	WS_FULLSWING,
	WS_SPIRITTAKER,
	WS_RETRIBUTION,
	WS_GATOFTARTARUS,
	WS_GARLANDOFBLISS,
	WS_VIDOHUNIR,
	WS_OMNISCIENCE,

	/* Swords */
	WS_FASTBLADE,
	WS_BURNINGBLADE,
	WS_REDLOSTUSBLADE,
	WS_FLATBLADE,
	WS_SHININGBLADE,
	WS_SERAPHBLADE,
	WS_CIRCLEBLADE,
	WS_SPIRITSWITHIN,
	WS_VORPALBLADE,
	WS_SWIFTBLADE,
	WS_SAVAGEBLADE,
	WS_KNIGHTSOFTHEROUND,
	WS_ATONEMENT,
	WS_EXPIACION,
	WS_BEATHBLOSSOM,

	/* Automaton */
	WS_SLAPSTICK,
	WS_ARCUBALLISTA,
	WS_STRINGCLIPPER,
	WS_CHIMERARIPPER,
	WS_KNOCKOUT,
	WS_MAGICMORTAR,
	WS_DAZE,
	WS_ARMORPIERCER,
	WS_CANNIBALBLADE,
	WS_BONECRUSHER
};

enum BlackMagic {
	BLM_NONE = 0,

	BLM_ABSORB_1,
	BLM_ABSORB_2,
	BLM_ABSORB_3,
	BLM_ABSORB_4,
	BLM_ABSORB_5,

	BLM_AERO_1,
	BLM_AERO_2,
	BLM_AERO_3,
	BLM_AERO_4,
	BLM_AERO_5,

	BLM_AEROGA_1,
	BLM_AEROGA_2,
	BLM_AEROGA_3,
	BLM_AEROGA_4,
	BLM_AEROGA_5,

	BLM_ASPIR_1,
	BLM_ASPIR_2,
	BLM_ASPIR_3,
	BLM_ASPIR_4,
	BLM_ASPIR_5,

	BLM_BIND_1,
	BLM_BIND_2,
	BLM_BIND_3,
	BLM_BIND_4,
	BLM_BIND_5,

	BLM_BINDGA_1,
	BLM_BINDGA_2,
	BLM_BINDGA_3,
	BLM_BINDGA_4,
	BLM_BINDGA_5,

	BLM_BIO_1,
	BLM_BIO_2,
	BLM_BIO_3,
	BLM_BIO_4,
	BLM_BIO_5,

	BLM_BLAZESPIKES_1,
	BLM_BLAZESPIKES_2,
	BLM_BLAZESPIKES_3,
	BLM_BLAZESPIKES_4,
	BLM_BLAZESPIKES_5,

	BLM_BLIND_1,
	BLM_BLIND_2,
	BLM_BLIND_3,
	BLM_BLIND_4,
	BLM_BLIND_5,

	BLM_BLINDGA_1,
	BLM_BLINDGA_2,
	BLM_BLINDGA_3,
	BLM_BLINDGA_4,
	BLM_BLINDGA_5,

	BLM_BLIZZARD_1,
	BLM_BLIZZARD_2,
	BLM_BLIZZARD_3,
	BLM_BLIZZARD_4,
	BLM_BLIZZARD_5,

	BLM_BLIZZAGA_1,
	BLM_BLIZZAGA_2,
	BLM_BLIZZAGA_3,
	BLM_BLIZZAGA_4,
	BLM_BLIZZAGA_5,

	BLM_BREAK_1,
	BLM_BREAK_2,
	BLM_BREAK_3,
	BLM_BREAK_4,
	BLM_BREAK_5,

	BLM_BREAKGA_1,
	BLM_BREAKGA_2,
	BLM_BREAKGA_3,
	BLM_BREAKGA_4,
	BLM_BREAKGA_5,

	BLM_BURN_1,
	BLM_BURN_2,
	BLM_BURN_3,
	BLM_BURN_4,
	BLM_BURN_5,

	BLM_BURST_1,
	BLM_BURST_2,
	BLM_BURST_3,
	BLM_BURST_4,
	BLM_BURST_5,

	BLM_CHOKE_1,
	BLM_CHOKE_2,
	BLM_CHOKE_3,
	BLM_CHOKE_4,
	BLM_CHOKE_5,

	BLM_DEATH,

	BLM_DISPEL_1,
	BLM_DISPEL_2,
	BLM_DISPEL_3,
	BLM_DISPEL_4,
	BLM_DISPEL_5,

	BLM_DISPELGA_1,
	BLM_DISPELGA_2,
	BLM_DISPELGA_3,
	BLM_DISPELGA_4,
	BLM_DISPELGA_5,

	BLM_DRAIN_1,
	BLM_DRAIN_2,
	BLM_DRAIN_3,
	BLM_DRAIN_4,
	BLM_DRAIN_5,

	BLM_DREADSPIKES_1,
	BLM_DREADSPIKES_2,
	BLM_DREADSPIKES_3,
	BLM_DREADSPIKES_4,
	BLM_DREADSPIKES_5,

	BLM_DROWN_1,
	BLM_DROWN_2,
	BLM_DROWN_3,
	BLM_DROWN_4,
	BLM_DROWN_5,

	BLM_ESCAPE,

	BLM_FIRE_1,
	BLM_FIRE_2,
	BLM_FIRE_3,
	BLM_FIRE_4,
	BLM_FIRE_5,

	BLM_FIRAGA_1,
	BLM_FIRAGA_2,
	BLM_FIRAGA_3,
	BLM_FIRAGA_4,
	BLM_FIRAGA_5,

	BLM_FLARE_1,
	BLM_FLARE_2,
	BLM_FLARE_3,
	BLM_FLARE_4,
	BLM_FLARE_5,

	BLM_FLOOD_1,
	BLM_FLOOD_2,
	BLM_FLOOD_3,
	BLM_FLOOD_4,
	BLM_FLOOD_5,

	BLM_FREEZE_1,
	BLM_FREEZE_2,
	BLM_FREEZE_3,
	BLM_FREEZE_4,
	BLM_FREEZE_5,

	BLM_FROST_1,
	BLM_FROST_2,
	BLM_FROST_3,
	BLM_FROST_4,
	BLM_FROST_5,

	BLM_GRAVITY_1,
	BLM_GRAVITY_2,
	BLM_GRAVITY_3,
	BLM_GRAVITY_4,
	BLM_GRAVITY_5,

	BLM_GRAVIGA_1,
	BLM_GRAVIGA_2,
	BLM_GRAVIGA_3,
	BLM_GRAVIGA_4,
	BLM_GRAVIGA_5,

	BLM_ICESPIKES_1,
	BLM_ICESPIKES_2,
	BLM_ICESPIKES_3,
	BLM_ICESPIKES_4,
	BLM_ICESPIKES_5,

	BLM_POISON_1,
	BLM_POISON_2,
	BLM_POISON_3,
	BLM_POISON_4,
	BLM_POISON_5,

	BLM_POISONGA_1,
	BLM_POISONGA_2,
	BLM_POISONGA_3,
	BLM_POISONGA_4,
	BLM_POISONGA_5,

	BLM_QUAKE_1,
	BLM_QUAKE_2,
	BLM_QUAKE_3,
	BLM_QUAKE_4,
	BLM_QUAKE_5,

	BLM_RASP_1,
	BLM_RASP_2,
	BLM_RASP_3,
	BLM_RASP_4,
	BLM_RASP_5,

	BLM_RETRACE,

	BLM_SHOCK_1,
	BLM_SHOCK_2,
	BLM_SHOCK_3,
	BLM_SHOCK_4,
	BLM_SHOCK_5,

	BLM_SHOCKSPIKES_1,
	BLM_SHOCKSPIKES_2,
	BLM_SHOCKSPIKES_3,
	BLM_SHOCKSPIKES_4,
	BLM_SHOCKSPIKES_5,

	BLM_SLEEP_1,
	BLM_SLEEP_2,
	BLM_SLEEP_3,
	BLM_SLEEP_4,
	BLM_SLEEP_5,

	BLM_SLEEPGA_1,
	BLM_SLEEPGA_2,
	BLM_SLEEPGA_3,
	BLM_SLEEPGA_4,
	BLM_SLEEPGA_5,

	BLM_STONE_1,
	BLM_STONE_2,
	BLM_STONE_3,
	BLM_STONE_4,
	BLM_STONE_5,

	BLM_STONEGA_1,
	BLM_STONEGA_2,
	BLM_STONEGA_3,
	BLM_STONEGA_4,
	BLM_STONEGA_5,

	BLM_STUN_1,
	BLM_STUN_2,
	BLM_STUN_3,
	BLM_STUN_4,
	BLM_STUN_5,

	BLM_THUNDER_1,
	BLM_THUNDER_2,
	BLM_THUNDER_3,
	BLM_THUNDER_4,
	BLM_THUNDER_5,

	BLM_THUNDAGA_1,
	BLM_THUNDAGA_2,
	BLM_THUNDAGA_3,
	BLM_THUNDAGA_4,
	BLM_THUNDAGA_5,

	BLM_TORNADO_1,
	BLM_TORNADO_2,
	BLM_TORNADO_3,
	BLM_TORNADO_4,
	BLM_TORNADO_5,

	BLM_TRACTOR,

	BLM_VIRUS_1,
	BLM_VIRUS_2,
	BLM_VIRUS_3,
	BLM_VIRUS_4,
	BLM_VIRUS_5,

	BLM_WARP_1,
	BLM_WARP_2,
	BLM_WARP_3,
	BLM_WARP_4,
	BLM_WARP_5,

	BLM_WATER_1,
	BLM_WATER_2,
	BLM_WATER_3,
	BLM_WATER_4,
	BLM_WATER_5,

	BLM_WATERGA_1,
	BLM_WATERGA_2,
	BLM_WATERGA_3,
	BLM_WATERGA_4,
	BLM_WATERGA_5
};

enum WhiteMagic {
	WHM_AQUAVEIL_1,
	WHM_AQUAVEIL_2,
	WHM_AQUAVEIL_3,
	WHM_AQUAVEIL_4,
	WHM_AQUAVEIL_5,

	WHM_BANISH_1,
	WHM_BANISH_2,
	WHM_BANISH_3,
	WHM_BANISH_4,
	WHM_BANISH_5,

	WHM_BANISHGA_1,
	WHM_BANISHGA_2,
	WHM_BANISHGA_3,
	WHM_BANISHGA_4,
	WHM_BANISHGA_5,

	WHM_BARAERO_1,
	WHM_BARAERO_2,
	WHM_BARAERO_3,
	WHM_BARAERO_4,
	WHM_BARAERO_5,

	WHM_BARAERA_1,
	WHM_BARAERA_2,
	WHM_BARAERA_3,
	WHM_BARAERA_4,
	WHM_BARAERA_5,

	WHM_BARBLIND_1,
	WHM_BARBLIND_2,
	WHM_BARBLIND_3,
	WHM_BARBLIND_4,
	WHM_BARBLIND_5,

	WHM_BARBLINDRA_1,
	WHM_BARBLINDRA_2,
	WHM_BARBLINDRA_3,
	WHM_BARBLINDRA_4,
	WHM_BARBLINDRA_5,

	WHM_BARBLIZZARD_1,
	WHM_BARBLIZZARD_2,
	WHM_BARBLIZZARD_3,
	WHM_BARBLIZZARD_4,
	WHM_BARBLIZZARD_5,

	WHM_BARBLIZZARA_1,
	WHM_BARBLIZZARA_2,
	WHM_BARBLIZZARA_3,
	WHM_BARBLIZZARA_4,
	WHM_BARBLIZZARA_5,

	WHM_BARFIRE_1,
	WHM_BARFIRE_2,
	WHM_BARFIRE_3,
	WHM_BARFIRE_4,
	WHM_BARFIRE_5,

	WHM_BARFIRA_1,
	WHM_BARFIRA_2,
	WHM_BARFIRA_3,
	WHM_BARFIRA_4,
	WHM_BARFIRA_5,

	WHM_BARPARALYZE_1,
	WHM_BARPARALYZE_2,
	WHM_BARPARALYZE_3,
	WHM_BARPARALYZE_4,
	WHM_BARPARALYZE_5,

	WHM_BARPARALYZRA_1,
	WHM_BARPARALYZRA_2,
	WHM_BARPARALYZRA_3,
	WHM_BARPARALYZRA_4,
	WHM_BARPARALYZRA_5,

	WHM_BARPETRIFY_1,
	WHM_BARPETRIFY_2,
	WHM_BARPETRIFY_3,
	WHM_BARPETRIFY_4,
	WHM_BARPETRIFY_5,

	WHM_BARPETRA_1,
	WHM_BARPETRA_2,
	WHM_BARPETRA_3,
	WHM_BARPETRA_4,
	WHM_BARPETRA_5,

	WHM_BARPOISON_1,
	WHM_BARPOISON_2,
	WHM_BARPOISON_3,
	WHM_BARPOISON_4,
	WHM_BARPOISON_5,

	WHM_BARPOISONRA_1,
	WHM_BARPOISONRA_2,
	WHM_BARPOISONRA_3,
	WHM_BARPOISONRA_4,
	WHM_BARPOISONRA_5,

	WHM_BARSILENCE_1,
	WHM_BARSILENCE_2,
	WHM_BARSILENCE_3,
	WHM_BARSILENCE_4,
	WHM_BARSILENCE_5,

	WHM_BARSILENCERA_1,
	WHM_BARSILENCERA_2,
	WHM_BARSILENCERA_3,
	WHM_BARSILENCERA_4,
	WHM_BARSILENCERA_5,

	WHM_BARSLEEP_1,
	WHM_BARSLEEP_2,
	WHM_BARSLEEP_3,
	WHM_BARSLEEP_4,
	WHM_BARSLEEP_5,

	WHM_BARSLEEPRA_1,
	WHM_BARSLEEPRA_2,
	WHM_BARSLEEPRA_3,
	WHM_BARSLEEPRA_4,
	WHM_BARSLEEPRA_5,

	WHM_BARSTONE_1,
	WHM_BARSTONE_2,
	WHM_BARSTONE_3,
	WHM_BARSTONE_4,
	WHM_BARSTONE_5,

	WHM_BARSTONRA_1,
	WHM_BARSTONRA_2,
	WHM_BARSTONRA_3,
	WHM_BARSTONRA_4,
	WHM_BARSTONRA_5,

	WHM_BARTHUNDER_1,
	WHM_BARTHUNDER_2,
	WHM_BARTHUNDER_3,
	WHM_BARTHUNDER_4,
	WHM_BARTHUNDER_5,

	WHM_BARTHUNDRA_1,
	WHM_BARTHUNDRA_2,
	WHM_BARTHUNDRA_3,
	WHM_BARTHUNDRA_4,
	WHM_BARTHUNDRA_5,

	WHM_BARVIRUS_1,
	WHM_BARVIRUS_2,
	WHM_BARVIRUS_3,
	WHM_BARVIRUS_4,
	WHM_BARVIRUS_5,

	WHM_BARVIRA_1,
	WHM_BARVIRA_2,
	WHM_BARVIRA_3,
	WHM_BARVIRA_4,
	WHM_BARVIRA_5,

	WHM_BARWATER_1,
	WHM_BARWATER_2,
	WHM_BARWATER_3,
	WHM_BARWATER_4,
	WHM_BARWATER_5,

	WHM_BARWATERA_1,
	WHM_BARWATERA_2,
	WHM_BARWATERA_3,
	WHM_BARWATERA_4,
	WHM_BARWATERA_5,

	WHM_BLINK_1,
	WHM_BLINK_2,
	WHM_BLINK_3,
	WHM_BLINK_4,
	WHM_BLINK_5,

	WHM_CURE_1,
	WHM_CURE_2,
	WHM_CURE_3,
	WHM_CURE_4,
	WHM_CURE_5,

	WHM_CUREAGA_1,
	WHM_CUREAGA_2,
	WHM_CUREAGA_3,
	WHM_CUREAGA_4,
	WHM_CUREAGA_5,

	WHM_DEODORIZE_1,
	WHM_DEODORIZE_2,
	WHM_DEODORIZE_3,
	WHM_DEODORIZE_4,
	WHM_DEODORIZE_5,

	WHM_DIA_1,
	WHM_DIA_2,
	WHM_DIA_3,
	WHM_DIA_4,
	WHM_DIA_5,

	WHM_DIAGA_1,
	WHM_DIAGA_2,
	WHM_DIAGA_3,
	WHM_DIAGA_4,
	WHM_DIAGA_5,

	WHM_ENAERO_1,
	WHM_ENAERO_2,
	WHM_ENAERO_3,
	WHM_ENAERO_4,
	WHM_ENAERO_5,

	WHM_ENBLIZZARD_1,
	WHM_ENBLIZZARD_2,
	WHM_ENBLIZZARD_3,
	WHM_ENBLIZZARD_4,
	WHM_ENBLIZZARD_5,

	WHM_ENFIRE_1,
	WHM_ENFIRE_2,
	WHM_ENFIRE_3,
	WHM_ENFIRE_4,
	WHM_ENFIRE_5,

	WHM_ENLIGHT_1,
	WHM_ENLIGHT_2,
	WHM_ENLIGHT_3,
	WHM_ENLIGHT_4,
	WHM_ENLIGHT_5,

	WHM_ENDARK_1,
	WHM_ENDARK_2,
	WHM_ENDARK_3,
	WHM_ENDARK_4,
	WHM_ENDARK_5,

	WHM_ENSTONE_1,
	WHM_ENSTONE_2,
	WHM_ENSTONE_3,
	WHM_ENSTONE_4,
	WHM_ENSTONE_5,

	WHM_ENTHUNDER_1,
	WHM_ENTHUNDER_2,
	WHM_ENTHUNDER_3,
	WHM_ENTHUNDER_4,
	WHM_ENTHUNDER_5,

	WHM_ENWATER_1,
	WHM_ENWATER_2,
	WHM_ENWATER_3,
	WHM_ENWATER_4,
	WHM_ENWATER_5,

	WHM_FLASH_1,
	WHM_FLASH_2,
	WHM_FLASH_3,
	WHM_FLASH_4,
	WHM_FLASH_5,

	WHM_INVISIBLE_1,
	WHM_INVISIBLE_2,
	WHM_INVISIBLE_3,
	WHM_INVISIBLE_4,
	WHM_INVISIBLE_5,

	WHM_PARALYZE_1,
	WHM_PARALYZE_2,
	WHM_PARALYZE_3,
	WHM_PARALYZE_4,
	WHM_PARALYZE_5,

	WHM_PARALYGA_1,
	WHM_PARALYGA_2,
	WHM_PARALYGA_3,
	WHM_PARALYGA_4,
	WHM_PARALYGA_5,

	WHM_PAHLANX_1,
	WHM_PAHLANX_2,
	WHM_PAHLANX_3,
	WHM_PAHLANX_4,
	WHM_PAHLANX_5,

	WHM_PROTECT_1,
	WHM_PROTECT_2,
	WHM_PROTECT_3,
	WHM_PROTECT_4,
	WHM_PROTECT_5,

	WHM_PROTECTRA_1,
	WHM_PROTECTRA_2,
	WHM_PROTECTRA_3,
	WHM_PROTECTRA_4,
	WHM_PROTECTRA_5,

	WHM_RAISE_1,
	WHM_RAISE_2,
	WHM_RAISE_3,
	WHM_RAISE_4,
	WHM_RAISE_5,

	WHM_REFRESH_1,
	WHM_REFRESH_2,
	WHM_REFRESH_3,
	WHM_REFRESH_4,
	WHM_REFRESH_5,

	WHM_REGEN_1,
	WHM_REGEN_2,
	WHM_REGEN_3,
	WHM_REGEN_4,
	WHM_REGEN_5,

	WHM_REPOSE_1,
	WHM_REPOSE_2,
	WHM_REPOSE_3,
	WHM_REPOSE_4,
	WHM_REPOSE_5,

	WHM_REPRISAL_1,
	WHM_REPRISAL_2,
	WHM_REPRISAL_3,
	WHM_REPRISAL_4,
	WHM_REPRISAL_5,

	WHM_RERAISE_1,
	WHM_RERAISE_2,
	WHM_RERAISE_3,
	WHM_RERAISE_4,
	WHM_RERAISE_5,

	WHM_SHELL_1,
	WHM_SHELL_2,
	WHM_SHELL_3,
	WHM_SHELL_4,
	WHM_SHELL_5,

	WHM_SHELLRA_1,
	WHM_SHELLRA_2,
	WHM_SHELLRA_3,
	WHM_SHELLRA_4,
	WHM_SHELLRA_5,

	WHM_SILENCE_1,
	WHM_SILENCE_2,
	WHM_SILENCE_3,
	WHM_SILENCE_4,
	WHM_SILENCE_5,

	WHM_SILENCEGA_1,
	WHM_SILENCEGA_2,
	WHM_SILENCEGA_3,
	WHM_SILENCEGA_4,
	WHM_SILENCEGA_5,

	WHM_SILENA_1,
	WHM_SILENA_2,
	WHM_SILENA_3,
	WHM_SILENA_4,
	WHM_SILENA_5,

	WHM_SLOW_1,
	WHM_SLOW_2,
	WHM_SLOW_3,
	WHM_SLOW_4,
	WHM_SLOW_5,

	WHM_SLOWGA_1,
	WHM_SLOWGA_2,
	WHM_SLOWGA_3,
	WHM_SLOWGA_4,
	WHM_SLOWGA_5,

	WHM_SNEAK_1,
	WHM_SNEAK_2,
	WHM_SNEAK_3,
	WHM_SNEAK_4,
	WHM_SNEAK_5,

	WHM_STONESKIN_1,
	WHM_STONESKIN_2,
	WHM_STONESKIN_3,
	WHM_STONESKIN_4,
	WHM_STONESKIN_5,

	WHM_BLINDNA,
	WHM_CURSNA,
	WHM_ERASE,
	WHM_POISONA,
	WHM_STONA,
	WHM_VIRUNA,
	WHM_DOOMNA,

	WHM_FIRESTORM,
	WHM_HAILSTORM,
	WHM_RAINSTORM,
	WHM_SANDSTORM,
	WHM_THUNDERSTORM,
	WHM_VOIDSTORM,
	WHM_WINDSTORM
};

enum JobAbilities {
	JA_SOULVOICE,
	JA_PIANISSIMO,
	JA_NIGHTINGALE,
	JA_TROUBADOUR,
	JA_FAMILIAR,
	JA_FIGHT,
	JA_CHARM,
	JA_GAUGE,
	JA_HEEL,
	JA_REWARD,
	JA_STAY,
	JA_SIC,
	JA_CALLBEAST,
	JA_TAME,
	JA_LEAVE,
	JA_SNARL,
	JA_FERALHOWL,
	JA_KILLERINSTINCT,
	JA_MANAFONT,
	JA_ELEMENTALSEAL,
	JA_AZURELORE,
	JA_CURSTAFFINITY,
	JA_CHAINAFFINITY,
	JA_CONVERGENCE,
	JA_DIFFUSION,
	JA_WILDCARD,
	JA_PHANTOMROLL,
	JA_DOUBLEUP,
	JA_QUICKDRAW,
	JA_RANDOMDEAL,
	JA_SNAKEEYE,
	JA_FOLD,
	JA_TRANCE,
	JA_SAMBAS,
	JA_WALTZES,
	JA_STEPS,
	JA_FLOURISHES,
	JA_JIGS,
	JA_FLOURISHES2,
	JA_SABERDANCE,
	JA_FANDANCE,
	JA_NOFOOTRISE,
	JA_BLOODWEAPON,
	JA_ARCANECIRCLE,
	JA_LASTRESPORT,
	JA_WEAPONBASH,
	JA_SOULEATER,
	JA_DARKSEAL,
	JA_DIABOLICEYE,
	JA_SPIRITSURGE,
	JA_CALLWYVERN,
	JA_ELEMENTALBREATH,
	JA_HEALINGBREATH,
	JA_REMOVEBREATH,
	JA_ANCICENTCIRCLE,
	JA_JUMP,
	JA_SPIRITLINK,
	JA_HIGHJUMP,
	JA_SUPERJUMP,
	JA_SUPERCLIMB,
	JA_DEEPBREATHING,
	JA_ANGON,
	JA_HUNDREDFISTS,
	JA_BOOST,
	JA_DODGE,
	JA_FOCUS,
	JA_CHAKRA,
	JA_CHIBLAST,
	JA_COUNTERSTANCE,
	JA_FOOTWORK,
	JA_MANTRA,
	JA_FORMLESSSTRIKES,
	JA_MIKINGAKURE,
	JA_SANGE,
	JA_KATONSAN,
	JA_HYOTONSAN,
	JA_HUTONSAN,
	JA_DOTONSAN,
	JA_RAITONSAN,
	JA_SUITONSAN,
	JA_INVINCIBLE,
	JA_HOLYCIRCLE,
	JA_SHIELDBASH,
	JA_SENTINEL,
	JA_COVER,
	JA_RAMPART,
	JA_FEALTY,
	JA_CHIVALRY,
	JA_OVERDRIVE,
	JA_ACTIVATE,
	JA_DEPLOY,
	JA_DEACTIVATE,
	JA_MANEUVERS,
	JA_RETRIEVE,
	JA_REPAIR,
	JA_ROLEREVERSAL,
	JA_VENTRILOQUY,
	JA_EAGELEYESHOT,
	JA_SHARPSHOT,
	JA_SCAVENGE,
	JA_CAMOUFLAGE,
	JA_BARRAGE,
	JA_SHADOWBIND,
	JA_VELOCITYSHOT,
	JA_UNLIMITEDSHOT,
	JA_STEALTHSHOT,
	JA_FLASHYSHOT,
	JA_CHAINSPELL,
	JA_CONVERT,
	JA_MEIKYOSHISUI,
	JA_WARDINGCIRCLE,
	JA_THIRDEYE,
	JA_HASSO,
	JA_MEDITATE,
	JA_SEIGAN,
	JA_SEKKANOKI,
	JA_BLADEBASH,
	JA_TABULARASA,
	JA_LIGHTARTS,
	JA_DARKARTS,
	JA_SUBLIMATION,
	JA_MODUSVERITAS,
	JA_ENLIGHTENMENT,
	JA_ASTRALFLOW,
	JA_ASSAULT,
	JA_BLOODPACTRAGE,
	JA_BLOODPACTWARD,
	JA_RELEASE,
	JA_RETREAT,
	JA_ELEMENTALSIPHON,
	JA_PERFECTDODGE,
	JA_STEAL,
	JA_SNEAKATTACK,
	JA_FLEE,
	JA_TRICKATTACK,
	JA_MUG,
	JA_HIDE,
	JA_ACCOMPLICE,
	JA_COLLABORATOR,
	JA_ASSASSINSCHARGE,
	JA_FEINT,
	JA_MIGHTYSTRIKES,
	JA_PROVOKE,
	JA_BESERK,
	JA_DEFENDER,
	JA_WARCRY,
	JA_AGGRESSOR,
	JA_RETALIATION,
	JA_WARRIORSCHAGE,
	JA_TOMAHAWK,
	JA_BENEDICITON,
	JA_DIVINESEAL,
	JA_MARTYR,
	JA_DEVOTION
};

enum JobTraits {
	JT_RESISTSILENCE,
	JT_AMORPHKILLER,
	JT_AQUANKILLER,
	JT_BEASTAFFIITY,
	JT_BEASTHEALER,
	JT_BEASTKILLER,
	JT_BIRDKILLER,
	JT_LIZARDKILLER,
	JT_PLANTOIDKILLER,
	JT_RESISTSLOW,
	JT_VERMINKILLER,
	JT_WIDESCAN,
	JT_CLEARMIND,
	JT_CONSERVEMP,
	JT_MAGICATTACKBONUS,
	JT_ASSIMILATION,
	JT_ENCHAINMENT,
	JT_LOADEDDECK,
	JT_RAPIDSHOT,
	JT_RESISTPARALUZE,
	JT_WINNINGSTREAK,
	JT_ACCURACYBONUS,
	JT_BUILDINGFLOURISHEFFECT,
	JT_EVASIONBONUS,
	JT_HASTSAMBAEFFECT,
	JT_REVERSEFLOURISHEFFECT,
	JT_STEPACCURACY,
	JT_SUBTLEBLOW,
	JT_ARCANAKILLER,
	JT_ATTACKBONUS,
	JT_DESPERATEBLOWS,
	JT_MUTEDSOUL,
	JT_RESISTPARALYZE,
	JT_DRAGONKILLER,
	JT_EMPATHY,
	JT_STRAFE,
	JT_COUNTER,
	JT_INVIGORATE,
	JT_KICKATTACKS,
	JT_MARTIALARTS,
	JT_MAXHPBOOST,
	JT_PENANCE,
	JT_DUALWIELD,
	JT_NINJATOOLEXPERTISE,
	JT_STEALTH,
	JT_AUTOREFRESH,
	JT_DEFENSEBONUS,
	JT_GUARDIAN,
	JT_IRONWILL,
	JT_RESISTSLEEP,
	JT_SHIELDMASTERY,
	JT_UNDEADKILLER,
	JT_FINETUNING,
	JT_OPTIMIZATION,
	JT_ALERTNESS,
	JT_RECYCLE,
	JT_RESISSTPOISON,
	JT_SNAPSHOT,
	JT_FASTCAST,
	JT_MAGICDEFENSEBONUS,
	JT_RESISTPETRIFT,
	JT_DEMONKILLER,
	JT_IKISHOTEN,
	JT_OVERWHELM,
	JT_RESISTBLIND,
	JT_STORETP,
	JT_ZANSHIN,
	JT_STORMSURGE,
	JT_AUTOREFERSH,
	JT_AMBUSH,
	JT_ASSASSIN,
	JT_AURASTEAL,
	JT_GILFINDER,
	JT_RESISTGRAVITY,
	JT_TREASUREHUNTER,
	JT_TRIPLEATTACK,
	JT_AGGRESSIVEAIM,
	JT_RESISTVIRUS,
	JT_SAVAGERY,
	JT_AUTOREGEN,
	JT_DIVINEVEIL
};

enum WeaponTypes {
	WEAPON_RANGED,
	WEAPON_MELEE
};

enum HitType {
	HIT_NONE = 0,
	HIT_FATALITY,
	HIT_CRITICAL,
	HIT_MISS,
	HIT_NORMAL,
	HIT_EFFECT	// Weapons added effect took
};
